﻿using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace OwnZTec.LojaDelivery.UI.WinForms
{
    internal static class Extensoes
    {
        internal static string EncriptarDecriptar(this string texto)
        {
            return Seguranca.EncryptDecrypt(texto);
        }

        internal static bool EhNuloOuVazio(this string texto)
        {
            return string.IsNullOrEmpty(texto);
        }

        internal static void SetarNomeFormulario(this Form frm)
        {
            frm.Text = Contexto.NomeSistema + " - " + frm.Text;
        }

        internal static void ConfigurarFormFilho(this Form frm)
        {
            frm.ShowIcon = false;
            frm.SetarNomeFormulario();

            frm.StartPosition = FormStartPosition.Manual;

            var wPos = (Contexto.MainForm.Width - frm.Width) / 2;
            var hPos = (Contexto.MainForm.Height - frm.Height) / 2;

            frm.Top = hPos;
            frm.Left = wPos;
        }

        internal static int ParaInt(this object obj)
        {
            return Convert.ToInt32(obj);
        }

        internal static decimal ParaDecimal(this object obj)
        {
            return Convert.ToDecimal(obj);
        }
    }

    public class OwnZForm : Form
    {
        protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Escape)
            {
                AutoValidate = AutoValidate.Disable;
                CancelButton.PerformClick();
                AutoValidate = AutoValidate.Inherit;
                return true;
            }
            return base.ProcessDialogKey(keyData);
        }
    }

    public class RecGrupoProdutoCliente
    {
        public int IdGrupo
        {
            get;
            set;
        }

        public string DesNome
        {
            get;
            set;
        }

        public decimal Valor
        {
            get;
            set;
        }

        public int IdCliente
        {
            get;
            set;
        }
        public decimal ValorCliente
        {
            get;
            set;
        }
    }

    public class RecProdutoCliente
    {
        public int IdProduto
        {
            get;
            set;
        }

        public int IdGrupo
        {
            get;
            set;
        }

        public string DesNome
        {
            get;
            set;
        }

        public string DesNomeGrupo
        {
            get;
            set;
        }

        public decimal Valor
        {
            get;
            set;
        }

        public int IdCliente
        {
            get;
            set;
        }
        public decimal ValorCliente
        {
            get;
            set;
        }

        public decimal ValorGrupoCliente
        {
            get;
            set;
        }
    }
}
